package com.banyuan.lesson.设计模式.singleton;

/*
* 静态内部类实现的单例；
* 有点像建筑模式；
* 即实现了延迟，又并发安全；
*
* 严重的缺点：
* 不能传参；
*
* 相较于饿汉模式的好处：
* 调用静态方法的时候不会创建对象；
*
* 静态内部类只有在使用它的时候才会加载；
* 所有的类只有在使用的时候才会加载；
*  */
public class InnerSingleton {
    private InnerSingleton(){

    }

    private static class Holer{
        static {
            System.out.println("内部类加载");
        }
        private static InnerSingleton singleton = new InnerSingleton();
    }

    public static InnerSingleton getInstance(){
        return  Holer.singleton;

    }
}
